package org.omg.dds.rpc;

import org.omg.dds.domain.DomainParticipant;
import org.omg.dds.sub.DataReaderQos;
import org.omg.dds.pub.DataWriterQos;


public abstract class RPCRuntime {

  public RPCRuntime(DomainParticipant  dp)
  {}

  abstract  public <T> void createService(ServiceImpl<T>  servicImpl,
                                          String  serviceName,
                                          String  instanceName,
                                          DataReaderQos  drqos,
                                          DataWriterQos  dwqos);
                        
  abstract public <T> ServiceProxy<T> createClient(String  serviceName,
                                                   String  instanceName,
                                                   DataReaderQos  drqos,
                                                   DataWriterQos  dwqos );
  
  abstract public void startServiceProcessing(boolean processEventsInMain);

}
